﻿using System.Data;


namespace dados
{
    public class MenuClass : FrameworkBase
    {

        public DataSet Carregar()
        {

            DataSet ds = ExecutarQueryDS(@"Select Categoria.Codigo as MenuID, 
                                            Categoria.Descricao as Description, 
                                            Categoria.Descricao as Text, 
                                            Categoria.CATEGORIA_PAI as ParentID
                                            from Categoria
                                            where Categoria.ATIVO = 'S'
                                            and ((select count(*) from produto where produto.categoria = categoria.codigo and produto.ativo = 'S') > 0 
                                             or ((select count(*) from produto where produto.categoria = categoria.codigo and produto.ativo = 'S') > 0 
                                                  and Categoria.CATEGORIA_PAI is null))
                                            or (select count(*) from Categoria c where c.categoria_pai = categoria.codigo) > 0
                                            or Categoria.Link <> ''
                                            Order by Categoria.Ordem");

            ds.DataSetName = "Menus";
            ds.Tables[0].TableName = "Menu";

            DataRelation relation = new DataRelation("ParentChild",
               ds.Tables["Menu"].Columns["MenuID"],
               ds.Tables["Menu"].Columns["ParentID"],
               true);


            relation.Nested = true;
            ds.Relations.Add(relation);
            return ds;
        }
    }


}

